package com.woniuxy.service;

import com.woniuxy.entity.dto.operations.CardAddDTO;
import com.woniuxy.entity.dto.operations.CardDisplayDTO;
import com.woniuxy.entity.dto.operations.ClientDetailDTO;
import com.woniuxy.util.PageParam;
import com.woniuxy.util.ResponseData;

import java.util.List;

/**
 * @BelongsProject: charging-management-platform
 * @BelongsPackage: com.woniuxy.service
 * @Author: Quan
 * @Date: 2025/3/28 11:45
 */
public interface CardService {

	/**
	 * @Description: 根据条件查询所有的Card
	 * @Param: [pageParam]
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/3/29
	 */
	ResponseData<?> queryAll(PageParam<CardDisplayDTO> pageParam);

	/**
	 * @Description: 查询所有的vip类型
	 * @Param: []
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/3/29
	 */
	ResponseData<?> queryAllMembershipLevel();

	/**
	 * @Description: 对card进行删除
	 * @Param: []
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/3/29
	 */
	ResponseData<?> delCardById(Long id);

	/**
	 * @Description: 通过对应的id进行删除
	 * @Param: [id]
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/3/30
	 */
	ResponseData<?> forbiddenById(Long id);

	/**
	 * @Description: 添加充电卡内容
	 * @Param: []
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/3/31
	 */
	ResponseData<?> addCard(CardAddDTO cardAddDTO);

	/**
	 * @Description: 通过id进行查询，并显示
	 * @Param: [id]
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/3/31
	 */
	ResponseData<?> getCardById(Long id);

	/**
	 * @Description: 批量删除
	 * @Param: [cardDisplayDTOS]
	 * @return: com.woniuxy.util.ResponseData<?>
	 * @Author: Quan
	 * @Date: 2025/4/2
	 */
	ResponseData<?> BatchDelCard(List<CardDisplayDTO> cardDisplayDTOS);

}

